The present invention relates to a practical method for communicating block coded digital data and associated overhead such as synchronization and/or control data. The invention is generally applicable to any block coded communication system, such as a digital cable television system or the like. Thus, although the invention is described herein in connection with a specific application, it should be appreciated that its scope is not limited to the communication of any particular type of block coded signal or to any particular modulation or transmission scheme.
Digital data, for example digitized video for use in broadcasting digitized conventional or high definition television (HDTV) signals, can be transmitted over satellite, terrestrial or cable VHF or UHF analog channels for communication to end users. Analog channels deliver corrupted and transformed versions of their input waveforms. Corruption of the waveform, usually statistical, may be additive and/or multiplicative, because of possible background thermal noise, impulse noise, and fades. Transformations performed by the channel are frequency translation, nonlinear or harmonic distortion and time dispersion. Various well known coding schemes, such as Reed-Solomon block coding, are available to correct errors introduced by an analog communication path.
In order to communicate digital data via an analog channel, the data is modulated using, for example, a form of pulse amplitude modulation (PAM). Typically, quadrature amplitude modulation (QAM) is used to increase the amount of data that can be transmitted within an available channel bandwidth. QAM is a form of PAM in which a plurality of bits of information are transmitted together in a pattern referred to as a "constellation" that can contain, for example, sixteen, thirty-two or sixty-four points. An example of a system for communicating digital data using QAM, and specifically trellis coded QAM, is provided in U.S. Pat. No. 5,233,629 to Paik, et al., incorporated herein by reference.
In order to reliably communicate digital information, some scheme must be provided to correct the inevitable transmission errors that will occur. A block code is one type of error correcting code that is well known in the art of digital communication. In a block code, M input binary symbols are mapped into N output binary symbols. Since N is greater than M, the code can be selected to provide redundancy, such as parity bits, which are used by the decoder to provide some error detection and error correction. The codes are denoted by (N, M) where the code rate R is defined by R=M/N. Practical values of R range from 1/4 to about one, and M ranges from three to several hundred, as reported by G. C. Clark, Jr. and J. B. Cain, "Error-Correction Coding for Digital Communications," Plenum Press, New York, 1981.
The improvement in the performance of a digital communication system that can be achieved by the use of coding is substantial. However, it is necessary to synchronize the encoder at the transmitter with the decoder at the receiver. Such synchronization requires additional "overhead" data to be transmitted to the receiver. It may also be desirable to transmit other overhead data, such as channel identification data, I or Q component identification data, error messages, and the like. Usually, the overhead data is combined directly with the information to be communicated. Although the necessity for transmitting overhead data lowers the overall information data rate, the coding gains achieved more than compensate for this inefficiency.
In past systems, such overhead data was typically included with the information being transmitted and resided together with the information in coded blocks. Such prior art schemes require rather complicated circuitry at the decoder to strip the overhead data from the actual information being communicated. It would therefore be advantageous to provide an improved scheme for incorporating synchronization and other necessary control data into a transmitted information stream. It would be further advantageous to provide such a scheme in which a desired ratio of information data to transmitted data can be easily achieved after synchronization and control overhead data has been inserted.
The present invention provides a method for inserting frame overhead, such as synchronization and control data, into an information stream while providing a desired information/transmission ratio. A result of the invention is to allow overhead to be inserted while preserving a clear data field (without overhead) for the information to be communicated. The invention also provides a flexible technique for changing the size of blocks of transmitted data while maintaining a desired information rate. This advantage enables a particular design requirement, such as an industry standard (e.g., MPEG) block size, to be met while maintaining the desired information rate.